package w83b.w83bOperacionesPaso.w83bMantenimientos.w83bPlantillas;

import java.util.ArrayList;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.lang.StringUtils;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;


import w83b.w83bBeans.W83bPlantillasBean;
import w83b.w83bUtilidades.W83bUtilidadesComunes;
import w83b.w83bUtilidadesComunes.W83bClsConstantes;
import es.ejie.frmk.presentacion.operacion.paso.Q70ActionPasoOP;
import es.ejie.frmk.presentacion.sesiondatos.Q70ContextoEJIE;

public class W83bTablaPlantillasOPAction extends Q70ActionPasoOP{



	protected void processOP(Q70ContextoEJIE contexto, ActionErrors errores,
			ActionMapping mapping, ActionForm form, HttpServletRequest request,
			HttpServletResponse response) throws Exception {

				//Guardamos la accion en el contexto
		contexto.set("action",request.getParameter("action"));

		W83bPlantillasBean plantillasBean = (W83bPlantillasBean)contexto.get("w83bPlantillasBean");
		if((StringUtils.isEmpty((String)contexto.get("modoPantalla"))||W83bClsConstantes.MODO_BUSQUEDA.equals(contexto.get("modoPantalla")))){
			if("true".equals(request.getParameter(W83bClsConstantes.RIA_SEARCH))){
					plantillasBean = new W83bPlantillasBean();
					String claves = request.getParameter("w83bPlantillasBean.idPlantilla")+"__"+request.getParameter("w83bPlantillasBean.idTramite")+"__"+request.getParameter("w83bPlantillasBean.idFase");
					plantillasBean.setPlantTramFase(claves);
					plantillasBean.setIdPlantilla(request.getParameter("w83bPlantillasBean.idPlantilla"));
					plantillasBean.setDescFase(request.getParameter("w83bPlantillasBean.descFase"));
					plantillasBean.setIdFase(request.getParameter("fase"));
					plantillasBean.setDescTramite(request.getParameter("w83bPlantillasBean.descTramite"));
					plantillasBean.setIdTramite(request.getParameter("tramite"));
					plantillasBean.setNombrePlantilla(request.getParameter("w83bPlantillasBean.nombrePlantilla"));
					plantillasBean.setDescripcion(request.getParameter("w83bPlantillasBean.descripcion"));
					plantillasBean.setDescripcion_eusk(request.getParameter("w83bPlantillasBean.descripcion_eusk"));

			plantillasBean = (W83bPlantillasBean)W83bUtilidadesComunes.inicializarPaginador(request, plantillasBean);
			plantillasBean.setPage("1");
			contexto.set("w83bPlantillasBean",plantillasBean);
			}else{
				plantillasBean = (W83bPlantillasBean)W83bUtilidadesComunes.inicializarPaginador(request, plantillasBean);

				contexto.set("w83bPlantillasBean",plantillasBean);
			}
		}else if("sord".equals(request.getParameter("action"))){
			plantillasBean = (W83bPlantillasBean)W83bUtilidadesComunes.inicializarPaginador(request, plantillasBean);			
			contexto.set("w83bPlantillasBean",plantillasBean);
		}else if(StringUtils.isEmpty(((W83bPlantillasBean)contexto.get("w83bPlantillasBean")).getSort())){
			plantillasBean = (W83bPlantillasBean)W83bUtilidadesComunes.inicializarPaginador(request, plantillasBean);			
			contexto.set("w83bPlantillasBean",plantillasBean);
		}

	}


	protected ActionForward processForward(Q70ContextoEJIE contexto,
			ActionErrors errores, ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) throws Exception {

		String action = (String)contexto.get("action");

		W83bPlantillasBean plantillasBean = (W83bPlantillasBean)contexto.get("w83bPlantillasBean");

		plantillasBean.setIdioma((String)contexto.get(W83bClsConstantes.CONSTANTE_CONTEXTO_IDIOMA));

		contexto.set("w83bPlantillasBean", plantillasBean);

		if(null==(ArrayList)contexto.get("w83bListaPlantillas")){	
			contexto.set("w83bListaPlantillas", new ArrayList());
		}
		if ("find".equals(action)||"sord".equals(action)){
			//Si vengo de una pantalla anterior tengo que mirar si he realizado una búsqueda anterior
			if(StringUtils.isEmpty((String)contexto.get("modoPantalla"))
					||W83bClsConstantes.MODO_BUSQUEDA.equals(contexto.get("modoPantalla"))){
				return mapping.findForward("find");
			}else{
				contexto.set("modoPantalla",W83bClsConstantes.MODO_BUSQUEDA);
				if("plantillas".equals((String)contexto.get("subOpFlag"))){
					contexto.set("migas","inicio.mantenimiento.plantillas");
				}
				if("true".equals((String)contexto.get("busqRealizada"))){
					return mapping.findForward("find");					
				}
			}
		}

		return mapping.findForward("ok");		
	}


	
}
